package com.adtech.core.exception;

import java.util.HashMap;
import java.util.Map;

/**
 * 异常错误消息
 *
 * @since 2011-11-9
 * @author Dormin
 *
 * @Copyright (C) AD Tech Workshop All Right Reserved
 */
public class ErrorMessage {
	private static Map<Integer, String> msg = new HashMap<Integer, String>();

	static {
		/*
		 * 公共异常错误码
		 */
		msg.put(ErrorCode.SYSTEM_UNKNOWN_ERROR, "系统发生错误，请联系系统管理员!");
		msg.put(ErrorCode.CLASS_NOT_FOUND, "找不到类");
		msg.put(ErrorCode.ILLEGAL_ACCESS, "不合法访问");
		msg.put(ErrorCode.INSTANTIATION, "没有提供空参的构造方法");
		msg.put(ErrorCode.NO_SUCH_METHOD, "方法不存在");
		msg.put(ErrorCode.DATABASE_ERROR, "数据库异常");
		msg.put(ErrorCode.PRIVILEGE_ERROR, "权限不足");
		msg.put(ErrorCode.SESSION_TIMEOUT, "未登录或会话已超时，请重新登录");
		msg.put(ErrorCode.PARSE_QUERY_EXP_ERROR, "解析查询表达式错误");



		/*
		 * 通用导入导出
		 */
		msg.put(ErrorCode.POLICY_EXCEL_NOT_FOUND, "EXCEL文件{0}找不到");
		msg.put(ErrorCode.POLICY_EXCEL_READ_ERROR, "EXCEL文件{0}读取失败");
		//		msg.put(ErrorCode.POLICY_EXCEL_PARSE_ERROR, "EXCEL文件{0}解析失败");
		msg.put(ErrorCode.POLICY_EXCEL_WRITE_ERROR, "EXCEL文件{0}输出失败");
		msg.put(ErrorCode.POLICY_SHEET_VALIDATE_ERROR, "EXCEL文件的SHEET页有误，必须包含{0}，请确认上传的文件是否正确！");
		msg.put(ErrorCode.POLICY_BASIC_VALIDATE_ERROR, "{0}");
		msg.put(ErrorCode.POLICY_UNIQU_VALIDATE_ERROR, "数据重复");
		msg.put(ErrorCode.POLICY_NOT_FOUND, "找不到标识为{0}的策略配置");
		msg.put(ErrorCode.POLICY_CHART_NOT_FOUND, "在策略{0}中找不到序号为{1}的图表配置");
		msg.put(ErrorCode.POLICY_GRID_NOT_FOUND, "在策略{0}中找不到序号为{1}的表格配置");
		msg.put(ErrorCode.POLICY_IMPORT_NOT_FOUND, "在策略{0}中找不到序号为{1}的导入配置");
		msg.put(ErrorCode.POLICY_GRID_TEMPLATE_ERROR, "处理FreeMarker模板失败");

	}

	public static String get(int errorCode){
		return msg.get(errorCode);
	}
	
	public static void put(Map<Integer, String> message){
		msg.putAll(message);
	}
}
